package com.jie.server.modules.monitor.service;

import com.jie.server.common.domain.LoginUser;
import com.jie.server.modules.monitor.entity.UserONlineEntity;

/**
 * @description: 用户在线服务类
 * @author: xiaojie
 * @since: 2024/12/16 0016
 */
public interface IUserOnlineService {

    /**
     * 通过登录地址/用户名称查询信息
     * @param ipaddr 登录地址
     * @param userName 用户名称
     * @param user 用户信息
     * @return 在线用户信息
     */
    UserONlineEntity selectOnlineByInfo(String ipaddr, String userName, LoginUser user);

    /**
     * 通过登录地址查询信息
     * @param ipaddr 登录地址
     * @param user 用户信息
     * @return 在线用户信息
     */
    UserONlineEntity selectOnlineByIpaddr(String ipaddr, LoginUser user);

    /**
     * 通过用户名称查询信息
     * @param userName 用户名称
     * @param user 用户信息
     * @return 在线用户信息
     */
    UserONlineEntity selectOnlineByUserName(String userName, LoginUser user);

    /**
     * 设置在线用户信息
     * @param user 用户信息
     * @return 在线用户
     */
    UserONlineEntity setUserOnline(LoginUser user);

}
